package com.suke.czx.common.utils;

import cn.hutool.core.util.StrUtil;

import static com.suke.czx.common.utils.ContentType.*;
import static com.suke.czx.common.utils.FileExtensionConstant.*;

/**
 * 应用模块名称: 工具类
 * 代码描述: 文件工具类
 * copyright: AUZAR ALL RIGHTS RESERVED
 * company: AUZAR
 *
 * @author: 颜米晨
 * @date: 2021/09/07 16:41:46
 */
public class FileUtil {

    /**
     * 获取文件名称
     * @param objectName 文件全路径
     * @return 真实文件名
     */
    public static String getFileName(String objectName){
        String[] arr = StrUtil.split(objectName, Constant.BACKSLASH);
        return arr[arr.length - 1];
    }


    /**
     * 判断OSS服务文件上传时文件的contentType
     * @param extension 文件后缀 例: .txt
     * @return String ContentType
     */
    public static String getContentType(String extension) {
        if (StrUtil.isBlank(extension)){
            return null;
        }
        switch (extension){
            case BMP: return IMAGE_BMP;
            case GIF: return IMAGE_GIF;
            case JPEG: case JPG: case PNG: return IMAGE_JPEG;
            case HTML: return TEXT_HTML;
            case TXT: return TEXT_PLAIN;
            case VSD: return APPLICATION_VND_VISIO;
            case PPTX: case PPT: return APPLICATION_VND_MSPOWERPOINT;
            case DOCX: case DOC: return APPLICATION_MSWORD;
            case XML: return TEXT_XML;
            case PDF: return APPLICATION_PDF;
            default: return MULTIPART_FORM_DATA;
        }
    }

}
